/**
 * This file is released under the GNU General Public License.
 * Refer to the COPYING file distributed with this package.
 *
 * Copyright (c) 2008-2009 WURFL-Pro srl
 */
package net.sourceforge.wurfl.core;


/**
 * Factory for Device instances.
 * <p>
 * Provide a method to get a Device from device identifier.
 * </p>
 * 
 * @author WURFL-PRO SRL, Rome, Italy
 * @version $Id: DeviceProvider.java 1045 2009-03-09 15:52:53Z filippo.deluca $
 */
public interface DeviceProvider {

	/**
	 * Returns the device identified by given id.
	 * 
	 * @param id
	 *            The identifier
	 * @return Device instance identified by id.
	 * @throws DeviceNotDefinedException
	 *             if Device with given identifier is not defined in WURFL.
	 */
	public Device getDevice(String id) throws DeviceNotDefinedException;
	
}
